<html>
<head><meta charset="utf-8"><title>--keep-stage 0 · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html">--keep-stage 0</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="211035304"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211035304" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211035304">(Sep 23 2020 at 17:26)</a>:</h4>
<p>I want to keep stage0-std but rebuild the stage 1 compiler and standard library. <code>--keep-stage 0</code> used to work for this, but now it won't rebuild the stage 1 compiler even if it changed. What's the story here?</p>



<a name="211035727"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211035727" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211035727">(Sep 23 2020 at 17:28)</a>:</h4>
<p>The full command I'm using is <code>./x.py build --stage 1 --keep-stage 0 -- library/std</code></p>



<a name="211035848"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211035848" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211035848">(Sep 23 2020 at 17:29)</a>:</h4>
<p>This should have always not worked</p>



<a name="211035947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211035947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211035947">(Sep 23 2020 at 17:30)</a>:</h4>
<p>What should I be using?</p>



<a name="211036008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211036008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211036008">(Sep 23 2020 at 17:31)</a>:</h4>
<p>(I remember it did, but perhaps I'm mistaken: It was a while ago)</p>



<a name="211036026"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211036026" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211036026">(Sep 23 2020 at 17:31)</a>:</h4>
<p>so I think what you're doing is just not supported, but I guess maybe I'm not entirely clear -- you're changing both std and the compiler, but you want to avoid a full compiler rebuild, right?</p>



<a name="211036106"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211036106" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211036106">(Sep 23 2020 at 17:31)</a>:</h4>
<p>you can comment out/delete these lines <a href="https://github.com/Mark-Simulacrum/rust/blob/2fdfda911c10f9ca8a60d2445d0def6e26a5928c/src/bootstrap/compile.rs#L473-L477">https://github.com/Mark-Simulacrum/rust/blob/2fdfda911c10f9ca8a60d2445d0def6e26a5928c/src/bootstrap/compile.rs#L473-L477</a> in bootstrap to accomplish that</p>



<a name="211036172"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211036172" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211036172">(Sep 23 2020 at 17:32)</a>:</h4>
<p>keep-stage was and remains a hack</p>



<a name="211036268"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211036268" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211036268">(Sep 23 2020 at 17:33)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116122">simulacrum</span> <a href="#narrow/stream/131828-t-compiler/topic/--keep-stage.200/near/211036172">said</a>:</p>
<blockquote>
<p>keep-stage was and remains a hack</p>
</blockquote>
<p>I hear this all the time, but it mostly works, and saves a ton of time when it does.</p>



<a name="211036431"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211036431" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211036431">(Sep 23 2020 at 17:34)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116122">simulacrum</span> <a href="#narrow/stream/131828-t-compiler/topic/--keep-stage.200/near/211036026">said</a>:</p>
<blockquote>
<p>so I think what you're doing is just not supported, but I guess maybe I'm not entirely clear -- you're changing both std and the compiler, but you want to avoid a full compiler rebuild, right?</p>
</blockquote>
<p>This is correct yes.</p>



<a name="211036468"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211036468" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211036468">(Sep 23 2020 at 17:34)</a>:</h4>
<p>Yeah, the reason I added it is because it's great to have as a power tool</p>



<a name="211036486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211036486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211036486">(Sep 23 2020 at 17:34)</a>:</h4>
<p>really what you want is to give bootstrap a small graph</p>



<a name="211036535"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211036535" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211036535">(Sep 23 2020 at 17:35)</a>:</h4>
<p>(well the graph exists, you want to prune edges/vertices from it)</p>



<a name="211036632"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211036632" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211036632">(Sep 23 2020 at 17:35)</a>:</h4>
<p>I suspect the real solution to your particular problem is to make stage0-std less eagerly rebuilt, e.g., we'd version it or something along the lines of the "beta std for rustc" proposal</p>



<a name="211036719"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211036719" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211036719">(Sep 23 2020 at 17:36)</a>:</h4>
<p>but it'd be more eagerly versioned, like, anytime you want to use something new from it you just bump a version somewhere</p>



<a name="211036900"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211036900" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211036900">(Sep 23 2020 at 17:37)</a>:</h4>
<p>Does the first compiler that gets build have <code>stage == 0</code> or <code>stage == 1</code>?</p>



<a name="211037514"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211037514" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211037514">(Sep 23 2020 at 17:42)</a>:</h4>
<p>uhhh</p>



<a name="211037528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211037528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211037528">(Sep 23 2020 at 17:42)</a>:</h4>
<p><span class="user-mention" data-user-id="118594">@ecstatic-morse</span> so I am not sure what you mean exactly</p>



<a name="211037582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211037582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211037582">(Sep 23 2020 at 17:43)</a>:</h4>
<p>the first librustc that gets compiled ends up as part of stage1/bin/rustc</p>



<a name="211037599"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211037599" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211037599">(Sep 23 2020 at 17:43)</a>:</h4>
<p>does that help?</p>



<a name="211037750"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211037750" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211037750">(Sep 23 2020 at 17:44)</a>:</h4>
<p>Right, so I would expect <code>compiler.stage == 1</code> at the line you linked, which means that <code>if</code> shouldn't be taken for<code>--keep-stage 0</code></p>



<a name="211037839"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211037839" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211037839">(Sep 23 2020 at 17:45)</a>:</h4>
<p>So I'm skeptical that commenting that section out will help.</p>



<a name="211038005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211038005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211038005">(Sep 23 2020 at 17:46)</a>:</h4>
<p>But maybe <code>compiler</code> is the compiler that's being used, not the one that's being built?</p>



<a name="211038343"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211038343" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211038343">(Sep 23 2020 at 17:49)</a>:</h4>
<p>no</p>



<a name="211038353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211038353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211038353">(Sep 23 2020 at 17:49)</a>:</h4>
<p>yeah</p>



<a name="211038364"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211038364" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211038364">(Sep 23 2020 at 17:49)</a>:</h4>
<p>compiler is what's going to compile it</p>



<a name="211038433"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211038433" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211038433">(Sep 23 2020 at 17:50)</a>:</h4>
<p>that's true... almost everywhere in bootstrap, and is actually a bug in some sense (but not for this case so don't worry about it)</p>



<a name="211038489"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211038489" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211038489">(Sep 23 2020 at 17:50)</a>:</h4>
<p>So I guess I find it a bit surprising that <code>--keep-stage 0</code> keeps the stage 0 standard library <em>and</em> the stage 1 compiler.</p>



<a name="211038770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211038770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211038770">(Sep 23 2020 at 17:52)</a>:</h4>
<p>it keeps everything <em>built by</em> the stage 0 compiler</p>



<a name="211038778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211038778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211038778">(Sep 23 2020 at 17:52)</a>:</h4>
<p>i.e., the beta compiler</p>



<a name="211038798"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211038798" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211038798">(Sep 23 2020 at 17:52)</a>:</h4>
<p>(also known as "stage0 artifacts")</p>



<a name="211038856"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211038856" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211038856">(Sep 23 2020 at 17:53)</a>:</h4>
<p>I would not be opposed to adding <code>--keep stage0-std</code>  or some similar syntax, which would've been helpful to you in this case.</p>



<a name="211038897"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211038897" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211038897">(Sep 23 2020 at 17:53)</a>:</h4>
<p>or, for easier parsing, just keep-std-stage or so</p>



<a name="211039250"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211039250" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211039250">(Sep 23 2020 at 17:56)</a>:</h4>
<p>Yeah, I'll open a PR at some point. For reference, I'm making some changes to how <code>rustc_const_unstable</code> interacts with <code>unstable</code>, as well as adding some specific feature gates to replace <code>const_fn</code>. I guess the common use-case for <code>--keep-stage</code> is for people just changing the standard library.</p>



<a name="211039594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211039594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211039594">(Sep 23 2020 at 17:58)</a>:</h4>
<p>Although I don't really know why they would want to ignore changes to the compiler in that case.</p>



<a name="211040884"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211040884" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211040884">(Sep 23 2020 at 18:07)</a>:</h4>
<p><span class="user-mention" data-user-id="118594">@ecstatic-morse</span> the <em>intended</em> use case I'm aware of is "I built the compiler once, I want to edit std, and I want to compile third-party crates with that edited toolchain"</p>



<a name="211040900"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211040900" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211040900">(Sep 23 2020 at 18:07)</a>:</h4>
<p>keep-stage 0 facilitates that perfectly</p>



<a name="211041004"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211041004" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211041004">(Sep 23 2020 at 18:08)</a>:</h4>
<p>the other, IMO more questionable, use case is keep-stage 1, where you want to save a std compile after changing the compiler. I've always had std compiles in stage1 be fast enough that I've not worried about it, personally, but people use it.</p>



<a name="211041108"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211041108" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211041108">(Sep 23 2020 at 18:09)</a>:</h4>
<p><code>--keep-std-stage 0</code> would also work for that first use-case I think, and it fits my mental model better, so is obviously correct <span aria-label="laughing" class="emoji emoji-1f606" role="img" title="laughing">:laughing:</span>.</p>



<a name="211041150"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211041150" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211041150">(Sep 23 2020 at 18:09)</a>:</h4>
<p>Yeah, it's less than a minute on my laptop usually.</p>



<a name="211041353"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211041353" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211041353">(Sep 23 2020 at 18:11)</a>:</h4>
<p>I'll put something together. I'm doing <code>(compiler.stage + 1)</code> locally, so <code>--keep-stage</code> acts like <code>--keep-stage-std</code>. Thanks for the help.</p>



<a name="211041524"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211041524" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211041524">(Sep 23 2020 at 18:12)</a>:</h4>
<p><span class="user-mention" data-user-id="118594">@ecstatic-morse</span> oh yeah, it would, good point</p>



<a name="211041545"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211041545" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211041545">(Sep 23 2020 at 18:12)</a>:</h4>
<p>really I'm not actually sure there's any point to keeping the compiler...</p>



<a name="211041581"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211041581" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211041581">(Sep 23 2020 at 18:13)</a>:</h4>
<p>(like if you want that you can move up a stage usually and keep the previous stage std)</p>



<a name="211041601"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211041601" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211041601">(Sep 23 2020 at 18:13)</a>:</h4>
<p>so maybe we should just delete those lines and call it a day</p>



<a name="211075770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/--keep-stage%200/near/211075770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/--keep-stage.200.html#211075770">(Sep 23 2020 at 23:53)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116122">simulacrum</span> <a href="#narrow/stream/131828-t-compiler/topic/--keep-stage.200/near/211036486">said</a>:</p>
<blockquote>
<p>really what you want is to give bootstrap a small graph</p>
</blockquote>
<p><del>don't build master rustc with master libstd</del></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>